1. Field of the Invention
The present invention relates to an image coding and decoding device, and more particularly to an image coding and decoding device which can efficiently code and decode motion image signals so as to transmit and receive the signals by the interframe coding.
2. Description of the Prior Art
FIG. 3 is a block diagram which shows a transmitting section of an image coding transmitter in the prior art. In FIG. 3, numeral 2 designates a motion compensating circuit, numeral 6 designates a differential section, numeral 8 designates a coding and decoding circuit, numeral 11 designates an adder, and numeral 13 designates a frame memory.
FIG. 4 is a block diagram which shows a motion vector detecting section in the motion compensating circuit 2. In FIG. 4, numeral 14 designates a differential section, numeral 16 designates a distortion operator, and numeral 18 designates a comparator.
The operation of the device will be described.
In the motion compensating circuit 2, using digitally transformed input signals 1 and previous frame reconstruction signals 3 stored in the frame memory 13, with the picture element blocks of the prescribed size N.sub.1 .times.N.sub.2 (N.sub.1, N.sub.2 being plus integers) used as a unit, a block which has the pattern most similar to that of the block of the input signal is detected from the previous signals, and signals of the detected block are outputted as predicting signals 4, and index information 5 indicating motion vectors being position shift between the position of the block and that of the input signal block is transmitted to the receiving side.
An example of the motion detecting method is shown in FIG. 4.
Assuming that the input signal block is S(1), the previous frame signal block is S'.sub.i (3), the number of the searched blocks is L (L being plus integer), the matching distortion between the blocks be d.sub.i (17), and K=N.sub.1 .times.N.sub.2 ##EQU1## Among d.sub.i (11) estimated by the differential section 14 and the distortion operator 16 based on the above formulas, the block having the smallest matching distortion value is detected by the comparator 18, and the block signal is transformed into the predicting signal 4 block by block, and the index information 5 of the block motion vectors is outputted. However, in FIG. 4, the hardware composition is simplified by applying the serial process to the distortion operation and the comparing process at each searching block. In FIG. 5, an example of the arrangement of the searching vectors is shown.
Differences between the predicting signals 4 estimated as above described and the input signals 1 are taken, and the differential signals 7 are coded by the coding and decoding circuit 8, and then the coded information 9 is transmitted to the receiving side and at the same time the differential decoded signals 10 by decoding the coded information and the predicting signals 4 are added and thereby the reconstructed signals 12 are obtained. After one frame of these reconstructed signals 12 is stored in the frame memory 13, they are read out as the previous frame reconstructed signals 3 at the next coding.
In the coding and decoding circuit 8, coding is executed only when the value of the differential signals 7 is larger than a prescribed threshold value, and the picture element supplementing (the value of the predicting signals 4 can be made equal to that of the reconstructed signals 12 by making naught the differential reconstructed signals without coding) is performed in other cases; thereby the generating information content can be restrained.
Since the motion compensating device in the prior art is constituted as above described, the searched vectors are limited in number, resulting in the most suitable motion compensation being made impossible because of the image being out of the searched range in case its movement is too extensive. Furthermore there is another problem in that in case of the deterioration of the picture quality, or in case of the changing of scenes, the matching precision between frames is low, and the restraint effect of the predicting error signal component does not appear, causing an increase of the generating information and deterioration of the picture quality.
FIGS. 10 and 11 are block diagrams which show the coding section of the conventional image signal progressive build-up coding and decoding device, and the composition model of the decoding section, which are, for example, disclosed in the column "Vector Quantization of the Image Signal" of the Journal of the Institute of Television Engineers of Japan, Vol. 38, No. 5, pp. 452.about.457 (1984). In the coding section in FIG. 10, numeral 101 designates the input signal vectors which block the input image signal system of the static image data by the unit of the sample m.times.n (m, n being integers), numeral 102 designates a subtractor which finds the residual signal vectors 103 between the input signal vectors the previous stage decoded vectors delayed by one frame, numeral 128 designates an average value separated and normalized vector quantization decoder, numeral 110 designates the amplitude coded data, numeral 129 designates the amplitude coded data, numeral 130 designates the output vector index coded data, numeral 114 designates a code assignment circuit, numeral 115 designates the coding device output signals, numeral 117 designates the residual signal decoded vectors, numeral 118 designates an adder which adds the residual signal decoded vectors to the front stage decoded vectors delayed by one frame, numeral 119 designates the decoded vectors, and numeral 120 designates a frame memory for delaying the decoded vectors by one frame.
In the decoding section in FIG. 11, numeral 115 designates the coding device output signals obtained in the code section, numeral 124 designates a coding assignment circuit which inverts the coding assignment, and numeral 131 designates an average value separated and normalized vector quantization decoder which carries out the average value separated and normalized vector quantization decoding.
First, the principle of the vector quantization will be described briefly. The input signal systems of K pieces as a whole shall be made input vectors x={x.sub.1, x.sub.2, . . . ,x.sub.k }. Then a set of N pieces of the representative points (that is, the output vectors) y.sub.i ={y.sub.i1, y.sub.i2, . . . , Y.sub.ik } of K-dimensional Euclid signal space R.sup.K (x.epsilon.R.sup.K) shall be made Y=[y.sub.1, y.sub.2, . . . , y.sub.N ]. The vector quantizer searches the output vector y.sub.i which is in the shortest distance from the output vectors, and it defines the output vector as follows: EQU if d(x, y.sub.i)&lt;d(x, y.sub.l) for all l x.fwdarw.y.sub.i
Where d(x, y.sub.i) indicates the distance between the input and output vectors (distortion). Then the input vector x is transmitted or recorded by the index i of the output vectors, and substituted by y.sub.i at the reconstruction state.
The average value separated and normalized vector quantization supplies the average value separated and normalized of the input vectors of the vector quantizer so as to limit the distribution of the output vectors on the superunit spherical surface in the multidimensional signal space. Let the input signal vectors be S={S.sub.1, S.sub.2, . . . , S.sub.K }, and the average value .mu., the amplitude .sigma., and the average value separated and normalized vectors x are represented respectively as follows: ##EQU2## Where as the approximate formulas of the amplitude .sigma., following formulas can be used. ##EQU3##
The scalar quantization of the average value .mu. and the amplitude .sigma., and the vector quantization of the average value separate input vectors x can make the generality of the vector quantizer with the limited number of output vectors much wider so as to develop its coding performance.
The operation of the image signal progressive build-up decoder in the prior art will be described. In FIG. 10, at the first stage of coding, the frame memory 120 which stores the prestage decoded results is left cleared, and the input signal vectors 101 pass through the subtractor 102 as they are, and the average value separated and normalized vector quantization is performed as the residual signal vectors 103 in the average value separated and normalized vector quantizer 128, thereby the coding data 110 of the average value, the coding data 129 of the amplitude, the coding data 130 of the output vector index, and the residual signal decoded vectors 117 are outputted. Each of the coded data 110, 129, 130 is converted into the suitable code words by the code assignment circuit 114 and then transmitted. The residual signal decoded vectors 117 pass through the adder 118, as they are, and are written as the decoded vectors 119 to the frame memory 120. At the second coding stage, in the subtractor 102 the residual signal vectors 103 are obtained by subtracting the previous stage decoded vectors from the input signal vectors 101. The residual signal vectors 103 are quantized into the average value separated and normalized vectors in the average value separated and normalized quantizer 128, thereby the coding data 110 of the average value, the coded data 129 of the amplitude, the coded data 130 of the output vector index, and the residual signal decoded vectors 117 are outputted. Each of the coded data 110, 129, 130 is converted into the suitable code words in the code assignment circuit 114 and then transmitted. The residual signal decoded vectors 117 are added to the front stage decoded vectors in the adder 118 so as to renew the frame memory 120 as the decoded vectors 119. These processes are followed by the same coding operations repeated at each stage so as to transmit each of the coded data 110, 129, 130, resulting in renewing the frame memory 120.
In FIG. 11, when the decoding starts, the frame memory 120 which stores the previous stage decoded results is left cleared. The coding device output signals 115 obtained in the coding section are inverted with respect to the code assignment in the code assignment circuit 124 so as to produce each of the coded data 110, 129, 130. Each of the coded data 110, 129, 130 is inputted into the average separated and normalized vector quantization decoder 131, where the residual signal decoded vectors are obtained from the decoded average value and the amplitude reconstructed vectors. In the adder 118, the residual signal decoded vectors 117 are added to the front stage decoded results of the frame memory 120 so as to renew the frame memory 120. These operations are repeated at each stage. Since the image signal progressive reconstruction coding device in the prior art is composed as above described, it is difficult to control the amount of the coded information generation and the reconstructed image quality suitably in wider range.
FIG. 16 is a block diagram which shows a composition example of a transmission section of an interframe coding device disclosed, for example, in the Technical Report of the Institute of Electronics and Communication Engineers of Japan IE84-1- ('84). In FIG. 16, numeral 201 designates the digitalized motion image signal system, numeral 207 designates a subtractor for obtaining the interframe differential signals, numeral 208 designates the interframe predicting signals formed from the past time frame which already finished coding, numeral 209 designates the interframe differential signal system, numeral 210 designates a block discrimination section which quantizes the interframe differential signals 209 of the predicting error to naught, and discriminates block by block whether the coding at the next stage necessary or not, numeral 211 designates the threshold value for the block discrimination, numeral 212 a coding control section which decides the threshold value 211, numeral 213 designates a coding and decoding section which encodes and decodes the blocks judged as the significant predicting errors (they are called as the significant blocks and the blocks whose predicting errors are regarded as naught are called ineffective blocks) in the block discriminating section 210, numeral 214 designates the decoded predicting error signals obtained in the coding and decoding section 213, numeral 215 designates an adder which adds the predicting signals 208 to the decoded predicting error signals 214, numeral 216 designates the decoded image signal series, numeral 217 designates a frame memory which forms the interframe predicting signals 208 using the decoded image signal series 216, numeral 218 designates the coded data obtained in the coding and decoding section 213, numeral 219 designates a variable length coding section which encodes the coded data 218 in variable length, numeral 220 designates a buffer for smoothing where the variable length coded data processed in the variable length coding section 219 is transmitted at the constant transmitting speed, numeral 221 designates the data that count the variable length coded data series per frame (the amount of the generated information per frame), numeral 222 designates a line interface (I/F) section for transmitting the smoothed data system by the buffer 220 into the transmission line, and numeral 223 designates the transmission signals. FIG. 17 is a block diagram showing a composition example of the coding control section 212 in FIG. 16. In FIG. 17, numeral 232 designates a register for delaying the threshold value 211 in frame period, numeral 233 designates the threshold value delayed by the register 232, and numeral 234 designates a table ROM. FIG. 18 is a diagram which explains the characteristics to be written in the table RAM 234.
The operation of the device will be described. The digitalized image signal series 201 is converted into the interframe differential signals 209 through the subtraction between the interframe predicting signal 208 by the subtractor 207. The interframe predicting signals 208 are formed using the reconstruction image signal system of the past time frame which has finished coding and local decoding in the transmission section; therein some other methods like the motion compensation are sometimes applied. The interframe differential signals 209 come near to naught in the case of no change or movement in a subject, and the block discrimination section 210 discriminates the significant blocks or the insignificant blocks so as to transmit only the data relating to the insignificant blocks resulting in compressing the amount of the information. In order to discriminate blocks, the sum of the absolute value of the blocked interframe differential signal system is found and compared with the threshold value 211. Let the blocked interframe differential signal system be .epsilon..sub.j (j=1, 2, . . . , k) and the threshold value be T.sub.n, then the discrimination of the blocks is executed as follows: ##EQU4## Where with respect to the blocks recognized as significant, the interframe differential signals 209 are encoded. The coding and decoding section 213 encodes the significant blocks and then decodes them so as to output the decoded predicting error signals 214 and the coded data 218. There are various coding and decoding methods, but they have little relationship to the invention and the detailed description shall be omitted here. The decoded predicting error signals 214 are added by the adder 215 to the interframe predicting signals 208 so as to form the decoded image signal series 216. The decoded image signal series 216 is stored in the frame memory 217, and used for forming the interframe predicting signals in the next frame and so forth. On the other hand, the coded words are assigned to the coded data 218 in the variable length coding section 219 corresponding to generation frequency of each data. The buffer 220 smooths the speed so as to transmit the variable length coding data system at the constant transmitting speed, and counts the variable length coded data series per frame and outputs them as the information amount 221 per frame to the coding control section 212. The line interface section 222 transmits the speed smoothed variable length coded data as the transmission signals 223 into the transmission line.
The coding control section 212, referring to the table ROM 234 by using the threshold value 221 given the frame delay by the register 232 and the amount of information, outputs the new threshold value 211. Let the previous threshold value 233 be T.sub.n-1 and the information amount 221 in the encoded frame using this T.sub.n-1 be B.sub.n-1, then the new threshold value T.sub.n (211) is obtained as shown in FIG. 18. Between the threshold value and the information amount, there is a hyperbolic relation as shown in FIG. 18. In FIG. 18, there are four curves written, which vary according to the width of the movement of a subject. When B.sub.n-1 and T.sub.n-1 are given, the most suitable curve is chosen among the plural curves stored in the table ROM 234. Then the point B* of the amount of information is looked for along the chosen curve where B* is the information amount admitted to one frame in accordance with the transmission speed. When the point of the amount of information becoming B* is decided on the chosen curve, the threshold value at the point is read as T.sub.n.
In other words, according to the relation between the threshold value T.sub.n-1 of the frame which finishes the coding and the information amount B.sub.n-1, the characteristic curve corresponding to the amount of motion is decided and controlled so as to obtain the necessary threshold value to attain the aimed information amount as the new threshold value T.sub.n from the curve.
Since the interframe coding device is constituted as above described, delay is always produced in controlling the threshold value for smoothing the amount of the information. Accordingly it is disadvantageous in that when the subject is transferred from the static state to the dynamic state or from the dynamic state to the static state, an extreme time lapse may be produced or the focusing of the picture quality is likely to be delayed.
FIG. 23 is a block diagram showing a composition example of a transmission section of an image signal progressive reconstruction coding device in the prior art using the vector quantizer, which is disclosed, for example, in the Technical Report of the Institute of Electronics and Communication Engineers of Japan IT85-61 (1985) titling "Image High Performance Coding by Vector Quantization".
In FIG. 23, numeral 301 designates the input signal vectors which block the input signal system of the static image data and so on by every sample m.times.n (m, n being natural numbers), numeral 302 designates a subtractor which obtains the residual signal vectors of the input signal vectors 301 and the previous stage decoded vectors 319 delayed by one frame, numeral 303 designates the residual signal vectors, numeral 306 designates an average value coding and decoding device which finds the average value within block at each vector and gives the high performance coding and decoding to the average value and outputs the average value coded data 308 and the average value decoded value 309, numeral 307 designates a normalized vector quantization coding and decoding device which converts the residual signal vector 303 into the normalized output vectors and the amplitude gain through the inner product vector quantizer and outputs the vector quantization coded data 310 and the amplitude reconstructed output vector 311, numeral 308 designates the average value coded data, numeral 309 designates the average data decoded value, numeral 310 designates the vector quantization coded data, numeral 311 designates the amplitude reconstructed vector, numeral 312 designates a first adder which adds the average value decoded data to the amplitude reconstructed vector so as to find the residual signal decoded vector 315, numeral 315 designates the residual signal decoded vector, numeral 316 designates a second adder which adds the residual signal decoded vector 315 to the front stage decoded vector 319 delayed by one frame so as to obtain the decoded vector 317 at each stage, numeral 317 designates the decoded vector at each stage, numeral 318 designates a frame memory which delays the decoded vector by one frame, numeral 319 designates the previous stage decoded vector outputted from the frame memory 318, numeral 320 designates a code assignment circuit which transforms the average value coded data 308 and the vector quantization data 310 into the coded words using the variable length coding and then outputs the coded words, and numeral 324 designates the coded output data.
The operation of the device will be described. In FIG. 23, at the time of the first stage coding, the frame memory 318 is left cleared. The input signal vectors 301 are not at all processed in the subtractor 302, but outputted as the residual signal vectors 303 as they are. In the normalized vector quantization coding and decoding device 307, the average value of the residual signal vectors 303 is estimated, and then the average value is subjected to the high performance coding using the DPCM coding method or the like so as to output the average value coded data 308 and the average value decoded data 309 locally decoded. On the other hand, with respect to the normal vector quantization, the residual signal vectors 303 are converted through the inner vector quantizer into the normalized output vectors and the amplitude gain, and the vector quantization coded data 310 and the amplitude reconstructed output vectors 311 are outputted.
The operation principle of the inner product vector quantizer will be described referring to FIG. 24. In the inner product vector quantizer, the average value separation and normalization is given, and a set of the normalized output vector y.sub.i arranged on the unit superspherical surface of the multidimensional signal space, Y=[y.sub.1, y.sub.2, . . . , y.sub.N ] is used. That is, the normalized output vector y.sub.i satisfies the following conditions simultaneously. ##EQU5##
The input vector x to the inner product vector quantizer is converted through the operation process of the following formulas into the normalized output vector y.sub.i which gives the maximum inner product value to the input vector x, and the maximum inner product value is given as the amplitude gain g of the input vector x. ##EQU6##
The amplitude gain g found as the scalar quantity is encoded and decoded independently, and the coded data together with the index i of the normalized output vector y.sub.i are outputted as the vector quantization coded data 310. At the same time, the normalized output vector y.sub.i is multiplied by the local decoding value g of the amplitude gain g thereby the amplitude reconstructed output vector y.sub.i * (311) is obtained. EQU y.sub.i *=g.multidot.y.sub.i
The average data decoded value 309 and the amplitude reconstructed output vector 311 are added in the first adder 312 and thereby the residual signal decoded vector 315 is obtained, and then the residual signal decoded vector 315 is added in the second adder 316 to the previous stage vector 319 delayed by one frame. The decoded vector 317 of each stage being output of the second adder 316 is written in the frame memory 318 and delayed by one frame. On the other hand, the average value coded data 308 and the vector quantization coded data 310 are converted into suitable code words respectively in the code assignment circuit 320 and then transmitted as the coded output data 324. At the second stage and so forth, the above-mentioned coding processes are repeated and executed one after another with respect to the residual signal vectors 303 between the input signal vectors 301 and the previous stage decoded vectors 319 stored in the frame memory 318.
Since the image signal progressive reconstruction coding device is constituted as above described, the block in coding at each stage is always the same in size, and when the block size is made larger the operation scale of the inner product vector quantizer becomes larger in proportion to the dimension number of the vector, and when the block size is made smaller it is difficult to decrease the amount of the coded information at the first stage significantly.
FIG. 28 is a block diagram showing a composition example of an interframe vector quantizer in the prior art disclosed, for example, in Murakami et al. "The Vector Quantization Method Interframe Coding Simulation" in the draft 1175 of the annual meeting 1983 of the Institute of Electronics and Communication Engineers of Japan. In FIG. 28, numeral 401 designates the input image signal system, numeral 402 designates a subtractor which performs subtraction to the interframe predicting signals, numeral 403 designates the interframe predicting signals, numeral 404 designates the interframe differential signals, numeral 439 designates a vector quantization coding section, numeral 440 designates the coded data, numeral 441 designates a vector quantization decoding section, numeral 416 designates decoded interframe differential signals, numeral 417 designates an adder which adds the decoded interframe differential signals 416 and the interframe predicting signals 403, numeral 418 designates the decoded image signal series, numeral 419 designates a frame memory which gives frame delay to the decoded image signal series 418 and forms the interframe predicting signals 403, numeral 420 designates a variable length coding section, numeral 421 designates a buffer for smoothing the speed, numeral 422 designates a value, numeral 423 designates a line interface (I/F), and numeral 424 designates transmission signals.
FIG. 29 is a block diagram showing a composition example of the vector quantization coding section 439. In FIG. 29, numeral 428 designates an average value separation and normalization section, numeral 429 designates the normalized vectors, numeral 431 designates a code book which stores the output vectors, numeral 432 designates the output vectors, numeral 433 designates a distortion operation section which finds distortion between the normalized vectors 429 and the output vectors 432, numeral 436 designates the distortion found in the distortion operation section 433, numeral 437 designates a minimum distortion detecting section which detects the minimum value from the distortion 436, numeral 430 designates the average value and the amplitude which are separated by the average value separation and normalization section 428, numeral 434 designates a block discrimination section, numeral 422 designates the threshold value used for discriminating the blocks, numeral 435 designates the block discrimination information, numeral 438 designates the index of the output vectors giving the minimum distortion, and numeral 440 designates the coded data.
The operation of the device will be described. The interframe predicting signals 403 are subtracted from the input image signal series 401 by the subtractor 402; thereby the input image signal system 401 is converted into the interframe differential signals 404. Since the interframe differential signal has little power in comparison to the original signal, it can be encoded with little coding error. The interframe differential signal 404 is encoded in the vector quantization coding section 439 (the coding method is described afterwards). Then the threshold value 422 is used as a parameter. The coded data 440 encoded in the vector quantization coding section 439 is decoded in the vector quantization decoding section 441; thereby the decoding predicting differential signal 416 is obtained. The interframe predicting signal 403 and the decoded interframe differential signal 416 are added in the adder thereby the decoded image signal series 418 is obtained. The decoded image signal system 418 is stored temporarily in the frame memory 419 and supplied with the frame delay, thereby the interframe predicting signal is formed. On the other hand, the coded data 440 is subjected to variable length coding in the variable length coding section 420 and stored temporarily in the buffer 421 and subjected to speed smoothing process, and then passes through the line interface 423 and is outputted as the transmission signal 424. In the buffer 421, the threshold value 422 in proportion to the data storage amount subjected to variable length coding is outputted and given to the vector quantization coding section 439 so as to control the information amount. Control of the coding and the information amount in the vector quantization coding section 439 will be described. The input signals to be subjected to the vector quantization are the interframe differential signals 404. The signals 404 are blocked (vector) in the average value separation and normalization section 428, and subjected to the average value separating and normalizing process. If the blocked input signals are represented as S=[S.sub.1, S.sub.2 , . . . , S.sub.k ], the average value separating and normalizing process is expressed for example as follows: ##EQU7##
The normalized vectors X=[x.sub.1, x.sub.2, . . . , x.sub.k ]obtained as above described are separated from the scalar quantity being the average value and the amplitude, and therefore unified with respect to the probability distribution in comparison to the vectors S before the average value separation and normalization, resulting in the effect to improve the efficiency of the vector quantization as hereinafter described. The distortion between the normalized vector 429 and the output vector 432 read from the code book 431 is found in the distortion operation section 433. In the minimum distortion detecting section 437, the minimum value among the distortion 436 between the output vectors stored in the code book 431 and the input vectors 429 is detected, and the index number 438 of the output vector giving the minimum distortion is outputted. This process is the vector quantization. This is expressed in formulas as follows: ##EQU8## The maximum inner product value P.sub.max is given as the correction amplitude 430 (hereinafter referred to as "g") which approximates x, namely the magnitude of the average value separated input vector x as shown in the following formulas. ##EQU9## The correction amplitude g is subjected to the high efficient coding in the amplitude coding device 415, and converted into the amplitude coding data 418. In the coded data multiplier 420, the average value coding data 417, the amplitude coding data 418 and the index 419 are multiplied, and transmitted as the output data 421 for the coding device in accordance with the prescribed format.
The decoding operation will be described. The output data 421 for the coding device are separated in the coding data multiplication separating section 422 into the average value coding data 417, the amplitude coding data 418 and the index 419 in accordance with the prescribed format. The average value coded data 417 are decoded through the average value decoding device 423, and converted into the average value coded value 425 (hereinafter referred to as ".mu."). Similarly Y=[y.sub.1, y.sub.2, . . . , y.sub.i, . . . , t.sub.N ] represents the contents of the code book. ##EQU10##
In this case, the coding process is the mapping from x to i, and the mapping from i to y.sub.i (reading-out of the code book) becomes the decoding process. i corresponds to the index 438. The average value and the amplitude 430 are used together with the threshold value 422 to discriminate the blocks in the block discrimination section 434. When the threshold value 422 is made Th, the block discrimination is expressed as follows: ##EQU11## As for the insignificant block, the interframe differential signal of the block is treated as 0. Consequently, the average value, the amplitude 430 and the index 438 need not be transmitted in this case. The coding data 440 outputted from the vector quantization coding section 439 comprises the average value, the amplitude 430, the block discrimination information 435 and the index 438, but since the block discrimination information 435 only is valid in the case of the insignificant block, the information generating amount can be controlled by the threshold value 422.
Since the interframe vector quantizer in the prior art is constituted as above described, the control range of the information amount is small. Consequently, if the information amount is suppressed to the minimum, the changed parts on the screen are left behind as the insignificant blocks, resulting in producing so-called "pin hole noise".
FIGS. 33 and 34 are block diagrams showing a composition example of a vector quantization coding device and a decoding device using vector quantization technology in the prior art disclosed, for example, in "Image High Efficiency Coding by the Vector Quantization" in the Technical Report of the Institute of Electronics and Communication Engineers of Japan IT85-61 (1985). In FIG. 33, numeral 501 designates the input signal vectors, numeral 502 designates an average value separating circuit which separates the average value component within the vector from the input signal vectors, numeral 503 designates the average value within the vector, numeral 504 designates an average value coding section, numeral 505 designates the average value separated input vectors, numeral 506 designates an inner product operation section which finds the inner product value of the average value separated input vector and the normalized output vectors as hereinafter described, numeral 507 designates a code book ROM which stores a plurality of normalized output vectors, numeral 508 designates the address signals, numeral 509 designates the normalized output vectors, numeral 510 designates an address counter, numeral 511 designates the inner product value calculated in the inner product operation section 506, numeral 512 designates a maximum inner product detecting section which finds the maximum value among the plurality of inner product values, numeral 513 designates the correction amplitude defined by the maximum inner product value, numeral 514 designates the strobe signals, numeral 515 designates an amplitude coding device, numeral 516 designates an index latch which takes the address signals, numeral 517 designates the average value coded data, numeral 518 designates the amplitude coded data, numeral 519 designates the index, numeral 520 designates a coding data multiplexing section, and numeral 521 designates the coded output data.
In the composition example of the vector quantization decoding device in FIG. 34, numeral 522 designates a coded data demultiplexing section, numeral 523 designates an average value decoding device numeral 524 designates an amplitude decoding device, numeral 528 designates a code book ROM, numeral 525 designates the average value decoded value, numeral 526 designates the amplitude decoded value, and numeral 527 designates the decoded vector.
The operation of the vector quantization coding will be described. The input vectors 501 (hereinafter referred to as "S") constituted by the input signal system blocked every k pieces (k indicates integer being 2 or more) are processed in the average value separating circuit 502 according to the formulas shown downwards, and subjected to separation of the average value 503 (hereinafter referred to as ".mu.") within the vectors therefrom and transformed into the average value separated input vectors 505 (hereinafter referred to as "X").
The input vector S, the average value .mu. within the vector, and the average value separated input vector X are expressed as follows: ##EQU12##
The average value .mu. is subjected to the high efficiency coding in the average value coding section 504, and converted into the average value coded data 517. The average value separated input vector X is inputted in the inner product operation section 506, and converted through the inner product vector quantization coding process as hereinafter described into the correction amplitude 513 as hereinafter described and the index 519 as hereinafter described. The average value separated input vector X is normalized with its magnitude ##EQU13## into a plurality of normalized input vectors X*, and N pieces (N being natural number) of normalized output vectors 509 [hereinafter referred to as y.sub.i (i=1, 2, . . . , N)] formed according to the statistical property of the normalized input vectors X* are writtin in the code book ROM 507. When the average value separated input vector X is inputted in the inner product operation section 506, the address counter 510 is reset and starts the counter operation of the period N. Then the normalized output vectors y.sub.i on the address, which are indicated by the address signals 508 outputted from the address counter 510, are inputted sequentially from the code book ROM 507 into the inner product operation section 506, and the inner product 511 (hereinafter referred to as P(x, y.sub.i), i=1, 2, . . . , N) between the average value separated input vector X and N pieces of the normalized output vectors y.sub.i is calculated according to the following formula, and then outputted. ##EQU14## Among N pieces of the inner product P(x, y.sub.i) obtained by the calculation, the maximum inner product value P.sub.max is detected in the maximum inner product detecting section 512, and then the address signals 508 showing the address within the code book ROM 507 of the normalized output vector y.sub.i giving the maximum inner product value are taken in the index latch 516 at timing synchronized with the strobe signals 514. The taken-in address signals 508 are the index 519 to discriminate the prescribed normalized output vectors y.sub.i, and transmitted to the coding data multiplexing section 520. On the other hand, the maximum inner product value P.sub.max is given as correction amplitude 513 (hereinafter referred to as "g") to simulate amount .vertline.x.vertline. of the average value separated input vector x as shown in the following formulas: The correction amplitude g is subjected to the high efficiency coding by the amplitude coding device 515 and converted into amplitude coded data 518. In the coding data multiplexing section 520, the average value coded data 517, the amplitude coded data 518 and the index 519 are multiplied, and then transmitted as the coding device output data 521 according to the prescribed format.
The decoding operation will be described. The coding device output data 521 are separated in the coded data demultiplexing section 522 according to the prescribed format into the average value coded data 517, the amplitude coded data 518 and the index 519. The average value coded data 517 are decoded through the average value decoding device 523 and converted into the average value decoded value 525 (hereinafter referred to as ".mu."). In similar manner, the amplitude decoded value 526 (hereinafter referred to as "g") are outputted from the amplitude decoding device 524. From the code book ROM 517 the normalized output vectors y.sub.i being on the address instructed by the index 519 are read out, and the recording vectors 527 (hereinafter referred to as "s") to the input vector s are obtained through the process of the following formulas. EQU s=[s.sub.1, s.sub.2, . . . , s.sub.k ] EQU s.sub.j =g.multidot.y.sub.ij +.mu.
Since the vector quantizer in the prior art is constituted as above described, it is impossible that the content of the code book is renewed during coding operation, thereby approximation of the decoded vector may be deteriorated to the unusual input vectors with different properties.
FIG. 36 shows an example of an image coding method in the prior art. In FIG. 36, the side A indicates the transmitting side and the side B indicates the receiving side.
In FIG. 36, numeral 601 designates an input buffer which inputs the digitized image signals and outputs them suitably to the coding section at the next stage, numeral 603 designates a frame memory which stores the image signals after coding and decoding before the present image signals by one frame, numeral 602 designates a subtractor which carries out the subtraction between the output of the input buffer 601 and the output of the frame memory 603, numeral 604 designates a quantization coding device which gives the quantization and coding to the output of the frame memory 603, numeral 605 designates a quantization decoding device which decodes the signals after the quantization coding, numeral 606 designates an interframe adder which adds the quantization decoding output and the output of the frame memory 603, and writes the result to the frame memory 603, numeral 607 designates a variable length coding device which assigns the variable length code to the quantization coding output corresponding to the generating frequency of each code, numeral 608 designates a transmitting buffer which stores the variable length coded output, numeral 609 designates a transmitting buffer control section which monitors the control of writing and reading in the transmitting buffer 608 and the storage amount of the transmitting buffer and then transmits the monitoring result to the input buffer 601, numeral 610 designates a dummy data adding section which adds the dummy data to the output of the transmitting buffer, and numeral 611 designates a line interface section.
Numeral 612 designates a line interface section on the receiving side, numeral 613 designates a dummy separating section which deletes the added dummy data, numeral 614 designates a variable length decoding section which decodes the variable length code, numeral 615 designates a receiving buffer which stores the signals after the variable length decoding, numeral 605' is a quantization decoding section which gives the quantization decoding to the output of the receiving buffer 615, numeral 603' designates a frame memory which stores the decoded image signals before the present image signals by one frame, and numeral 606' designates an interframe adder which adds the output of the quantization decoding section 605' and the output of the frame memory 603' and then writes the result to the frame memory 603'.
The operation of the device will be described.
The inputted image signals 701 are written to the input buffer 601. The input buffer performs writing and reading by the unit of the image frame, but it has the composition of double buffer because reading may be performed during writing.
The coded and decoded image signals 702 before the present image signals by one frame are outputted from the frame memory 603. In the interframe subtractor 602, the interframe differential signals 703 are obtained by subtracting between the present image signals 701' read from the input buffer and the image signals 702. The interframe differential signals 703 are encoded by the quantization coding device 604, and become the quantization coded signals 704. FIG. 37 shows an example of characteristics of the quantization coding device. The quantization coded signals 704 are inputted in the variable length coding device 607, and transformed into the variable length code 706 corresponding to the frequency of each coded signal.
At the same time, the quantization coded signals 704 are inputted in the quantization decoding device 605, and then are outputted as the coded and decoded differential signals 705. FIG. 38 shows an example of characteristics of the quantization decoding device.
The coded and decoded differential signals 705 are inputted together with the image signals 702 into the interframe adder 606, and become the coded and decoded image signals 702 and are written to the frame memory 603 for the coding to the next frame.
On the other hand, the variable length codes 706 are inputted in the transmitting buffer 608. The transmitting buffer outputs the data in accordance with the requirement from the transmission line side after storing the variable length codes over the definite amount, and has the composition of double buffer (buffer #1, buffer #2) because writing and reading must be performed at the same time. The transmitting buffer control section 609 controls writing and reading of the transmitting buffer. For example, when the buffer #1 is at writing operation and the buffer #2 is at reading operation, the transmitting buffer control section 609 monitors the storage amount of the buffer #1, and if the storage amount becomes more than the prescribed set value, the transmitting buffer control section 609 demands ceasing of output of the data to the input buffer 601.
Receiving the demands, the input buffer 601 ceases the output of the data to the next stage. The transmitting buffer control section 609 detects the pause of the input data to the transmitting buffer 608, and ceases writing to the buffer #1 and makes the situation of waiting for reading. The buffer #2 during reading ceases reading if the residual amount becomes less than the prescribed set value, and it waits for the buffer #1 to be in the situation of waiting for reading. When the buffer #1 is in the situation of waiting for reading, the buffer #2 and the buffer #1 are read out continuously. The buffer #2 is in the situation of waiting for writing when the residual amount becomes zero.
When the buffer #2 is in the situation of waiting for writing, the transmitting buffer control section 609 demands to start the output of the data to the input buffer 601.
In this process, before the buffer #1 gets in the situation of waiting for reading, there becomes the situation that the transmitting buffer 608 cannot output any data.
The dummy data adding section 610 outputs the data with the dummy data added thereto so as to continue the transmission of the data to the transmission line without break while the transmitting buffer 608 cannot output the data.
The data with the dummy data added thereto are subjected to conversion of electric level in the transmission line interface section 611 so as to meet the characteristics of the transmission line, and then outputted to the transmission line. On the receiving side, the signals inputted through the transmission line are subjected to phase conversion of electric level in the transmission line interface section 612, and the dummy data added in the dummy data adding section 610 are cleared in the dummy separating section 613; thereby only the data about the images are outputted.
The output is processed in the variable length decoding section 614 by the reverse treatment with respect to that in the variable length coding device 607, and then inputted in the form of the quantization coded signals 704 into the receiving buffer 615.
The receiving buffer has the composition of double buffer, because writing and reading are performed at the same time. In the receiving buffer, the stored data are variable in amount so as to take matching with respect to time between the signal speed inputted from the transmission line side and the speed of the image decoding section at the rear stage.
For example, if the processing speed of the image decoding section at the next stage is low, the stored amount of the receiving buffer is increased. On the contrary, if the processing speed is high, the receiving buffer acts at the small stored amount.
The quantization coded signals 704 are decoded by the quantization decoding device 605' and outputted as the coded and decoded differential signals 705' in similar manner to the transmitting side.
The coded and decoded image signals 702' before the present decoding image by one frame are outputted from the frame memory 603', and are added to the coded and decoded differential signals 705' in the interframe adder 606', and the resulting signals are written as the coded and decoded image signals to the frame memory 603' and also outputted to outside.
Let the necessary time to decode one image memory on the receiving side be T.sub.D, and let the average time to encode one image memory on the transmitting side be T.sub.c, and unless T.sub.D .ltoreq.T.sub.c, the data are accumulated one after another in the receiving buffer resulting in overflowing.
Since the transmitting side transmits the variable length coding data, the number of the data transmitted by one frame is not kept constant.
In other words, the time interval T.sub.B at which the code corresponds to the lead of the image frame can be T.sub.B &lt;T.sub.D once in a while.
Accordingly, unless T.sub.D .gtoreq.min T.sub.B on the receiving side, it causes the overflowing of the receiving buffer.
Since the image coding device in the prior art is constituted as above described, one frame decoding time T.sub.D on the receiving side is inevitably set to a small value so that T.sub.D &lt;min T.sub.B. As a result, the scale of the device on the receiving side becomes much larger than that on the transmitting side.